package cn.supermaster.management.web.service.system;

import cn.supermaster.management.common.page.TableDataInfo;
import cn.supermaster.management.common.response.WebResponse;
import cn.supermaster.management.system.domain.SystemPost;
import org.springframework.ui.ModelMap;

/**
 * All rights Reserved, Designed By www.super-bytecode.com
 *
 * @ProjectName: supermaster-management
 * @Package: cn.supermaster.management.web.service.system
 * @ClassName: ISPostRestService
 * @Description: []
 * <p> </p>
 * @Author: [Lance Ting]
 * @Date: 2021/1/12 0:05
 * @Version: V1.0
 * @Copyright: 2021 www.super-bytecode.comn Inc. All rights reserved.
 * TODO: 注意,本文件Lance Ting所作,如果转载或使用请标明具体出处!
 **/
public interface ISPostService {

    /*
     * ================================================
     *  页面跳转功能实现
     * ================================================
     */

    /**
     * @Description: [跳转岗位界面]
     * <p></P>
     * @Title: skipPostIndexHtml
     * @Author: Lance Ting
     * @Date: 2021-01-12
     * @Return: java.lang.String
     */
    String skipPostIndexHtml();

    /**
     * @Description: [跳转岗位新增界面]
     * <p></P>
     * @Title: skipAddPostHtml
     * @Author: Lance Ting
     * @Date: 2021-01-12
     * @Return: java.lang.String
     * @Throws:
     */
    String skipAddPostHtml();

    /**
     * @Description: [跳转岗位修改界面]
     * <p></P>
     * @Title: skipModifyPostHtml
     * @Author: Lance Ting
     * @Date: 2021-01-12
     * @Param: modelMap
     * @Param: postId
     * @Return: java.lang.String
     * @Throws:
     */
    String skipModifyPostHtml(ModelMap modelMap, Long postId);

    /*
     * ================================================
     *  Rest功能实现
     * ================================================
     */

    /**
     * @Description: [根据条件获取岗位信息列表]
     * <p></P>
     * @Title: queryPostListByCondition
     * @Author: Lance Ting
     * @Date: 2021-01-12
     * @Param: post
     * @Return: cn.supermaster.management.common.page.TableDataInfo
     */
    TableDataInfo queryPostListByCondition(SystemPost post);

    /**
     * @Description: [导出岗位信息列表]
     * <p></P>
     * @Title: doExportPostList
     * @Author: Lance Ting
     * @Date: 2021-01-12
     * @Param: post
     * @Return: cn.supermaster.management.common.response.WebResult
     */
    WebResponse doExportPostList(SystemPost post);

    /**
     * @Description: [删除岗位信息]
     * <p></P>
     * @Title: doRemovePostInformation
     * @Author: Lance Ting
     * @Date: 2021-01-12
     * @Param: ids
     * @Return: cn.supermaster.management.common.response.WebResult
     */
    WebResponse doRemovePostInformation(String ids);

    /**
     * @Description: [新增保存岗位]
     * <p></P>
     * @Title: doAddPostInformation
     * @Author: Lance Ting
     * @Date: 2021-01-12
     * @Param: post
     * @Return: cn.supermaster.management.common.response.WebResult
     */
    WebResponse doAddPostInformation(SystemPost post);

    /**
     * @Description: [修改保存岗位]
     * <p></P>
     * @Title: doModifyPostInformation
     * @Author: Lance Ting
     * @Date: 2021-01-12
     * @Param: post
     * @Return: cn.supermaster.management.common.response.WebResult
     */
    WebResponse doModifyPostInformation(SystemPost post);

    /**
     * @Description: [校验岗位名称]
     * <p></P>
     * @Title: checkPostNameUnique
     * @Author: Lance Ting
     * @Date: 2021-01-12
     * @Param: post
     * @Return: java.lang.String
     */
    String checkPostNameUnique(SystemPost post);

    /**
     * @Description: [校验岗位编码]
     * <p></P>
     * @Title: checkPostCodeUnique
     * @Author: Lance Ting
     * @Date: 2021-01-12
     * @Param: post
     * @Return: java.lang.String
     */
    String checkPostCodeUnique(SystemPost post);
}